---
title: StreamingTextResponse
description: Learn to use StreamingTextResponse helper function in your application.
---

# `StreamingTextResponse`

It is a utility class that simplifies the process of returning a ReadableStream of text in HTTP responses. It is a lightweight wrapper around the native Response class, automatically setting the status code to 200 and the Content-Type header to 'text/plain; charset=utf-8'

## Import

<Snippet text={`import { StreamingTextResponse } from "ai"`} prompt={false} />

## Example

```tsx
const result = await streamText({ model, messages });

// use stream data
const data = new StreamData();

data.append('initialized call');

// return a StreamingTextResponse that combines
// the result stream with the data stream:
return new StreamingTextResponse(
  result.toAIStream({
    onFinal() {
      data.append('call completed');
      data.close();
    },
  }),
  {},
  data,
);
```

<ObjectTableList
  content={{
    Parameters: [
      {
        name: 'stream',
        type: 'ReadableStream',
        description: 'The stream of content which represents the HTTP response.'
      },
      {
        name: 'init',
        isOptional: true,
        type: 'ResponseInit',
        description:
          'It can be used to customize the properties of the HTTP response. It is an object that corresponds to the ResponseInit object used in the Response constructor.',
        properties: [
          {
            type: 'ResponseInit',
            parameters: [
              {
                name: 'status',
                type: 'number',
                isOptional: true,
                description:
                  'The status code for the response. StreamingTextResponse will overwrite this value with 200.'
              },
              {
                name: 'statusText',
                type: 'string',
                isOptional: true,
                description:
                  'The status message associated with the status code.'
              },
              {
                name: 'headers',
                type: 'HeadersInit',
                isOptional: true,
                description:
                  "Any headers you want to add to your response. StreamingTextResponse will add 'Content-Type': 'text/plain; charset=utf-8' to these headers."
              }
            ]
          }
        ]
      },
      {
        name: 'data',
        isOptional: true,
        type: 'StreamData',
        description:
          'StreamData object that you are using to generate additional data for the response.'
      }
    ],
    Returns:
      "An instance of Response with the provided ReadableStream as the body, the status set to 200, and the Content-Type header set to 'text/plain; charset=utf-8'. Additional headers and properties can be added using the init parameter"

}}
/>
